package maple.thelittleredbook.user.dto;

import lombok.Data;
import org.springframework.web.multipart.MultipartFile;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;

/**
 * 用户更新信息请求DTO
 */
@Data
public class UserUpdateRequestDTO {

    /**
     * 用户名（可选更新）
     */
    @Size(min = 3, max = 50, message = "用户名长度必须在3-50个字符之间")
    @Pattern(regexp = "^[a-zA-Z0-9_\\u4e00-\\u9fa5]+$", message = "用户名只能包含字母、数字、下划线和中文")
    private String username;

    /**
     * 个人简介（可选更新）
     */
    @Size(max = 255, message = "个人简介不能超过255个字符")
    private String bio;

    /**
     * 头像文件（可选更新）
     */
    private MultipartFile avatar;
}